/*! @file menusysu.h
    @version 1.6
    @brief menusys Unicode interface helper

    This header is designed for internal use, however it should cause no problems
    for consumers of menusys services to also use it.
 */

#ifndef INCLUDED_menusysu
#define INCLUDED_menusysu

#include "menusys.h"

// non-Windows char support via simple redefinitions
#if !defined(_WIN32) && !defined(_UNICODE)
# define _tmain        main
# define _T(str)       str
# define _ftprintf     fprintf
# define _fgetts       fgets
# define _fputts       fputs
# define _tcslen       strlen
# define _tcscpy       strcpy
# define _tcsncpy      strncpy
# define _tcsicmp      strcasecmp
# define _tcsnicmp     strncasecmp
# define _tcsstr       strstr
# define _tcsdup       strdup
# define _tgetcwd      getcwd
# define _tchdir       chdir
# define _tgetenv      getenv
# define _tsystem      system
# define _tfopen       fopen
# define _vftprintf    vfprintf
# define _sntprintf    snprintf
# define _vsntprintf   vsnprintf
# define _istspace     isspace
# define _stscanf      sscanf
# define _tcschr       strchr
# define _ttoi         atoi
# define _tcstol       strtol
# define _totlower     tolower
# define _tasctime     asctime
#endif

// non-Windows Unicode support brought to you by ICU
#if defined(USING_ICU) || (defined(_UNICODE) && !defined(_WIN32))
#error NOT YET SUPPORTED!!
#endif

#include <string>
namespace std { typedef basic_string<TCHAR> tstring; }

#endif // INCLUDED_menusysu
